﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Text;
using System.Xml;
using System.Xml.Schema;
using Cielo.API.Requisicao;
using Cielo.API.Resposta;
using Cielo.API;

namespace CieloGateway.Example.Controllers
{
    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            ViewBag.Message = "Welcome to ASP.NET MVC!";
            return View();
        }

        public ActionResult About()
        {
            return View();
        }

        public ActionResult Retorno()
        {
            /*Dados para teste
             * cartão:
             * 4551870000000183(visa)
             * 5453010000066167(mastercard)
             * 6362970000457013(elo)
             * 36490102462661(diners)
             * 6011020000245045(discovery)
             * Código de segurança: qualquer
             *  Valor do pedido: para simular transação autorizada, use qualquer valor em que os dois
             * últimos dígitos sejam zeros. Do contrário, toda autorização será negada.
             *  Credenciais
             * Loja 1006993069 25fbb99741c739dd84d7b06ec78c9bac718838630f30b112d033ce2e621b34f3
             * Cielo 1001734898 e84827130b9837473681c2787007da5914d6359947015a5cdb2b8843db0fa832
             * Teste https://qasecommerce.cielo.com.br/servicos/ecommwsec.do
             * Produção https://ecommerce.cbmp.com.br/servicos/ecommwsec.do
             */
            Venda venda = new Venda();
            venda.Valor = 100;
            venda.NomeCliente = "Higor C R Ramos";
            venda.NumeroUnico = "123654874512";
            venda.BandeiraCartao = Cielo.API.Requisicao.FormaPagamento.Bandeiras.VISA;
            venda.Parcelas = 1;
            venda.DescricaoProduto = "Produto teste 5 reais";
            venda.NumeroCartao = "4551870000000183";
            venda.DataExpiracaoCartao = "201304";
            venda.CodigoSeguranca = "404";

            IGateway gateway = Gateway.Construir();
            var response = gateway.Autorizar(venda);

            if (response.Status == StatusResposta.AUTORIZADO ||
                response.Status == StatusResposta.CAPTURADO)
            {
                ViewBag.Message = "Operação realizada com sucesso!";
            }
            else
            {
                ViewBag.Message = "Ocorreu um erro. Descrição:" + response.Autorizacao.Mensagem;

            }
            return View();
        }
    }

}
